Vytvoreni komponenty na formu z balicku

Otázka od: Jiri Cincura

4. 7. 2004 19:05

Ahoj,
  mam balicek a z nej potrebuju na form dostat za behu komponenty. Mam tam
jednu fci, asi takhle (zjednoduseny kus unity):

function Jirka(A: TWinControl): PAnsiChar;
begin
  Result := 'aaaa'; //jen na hrani
// with TButton.Create(nil) do
// begin
// Parent := A;
// Width := 10;
// Height := 10;
// Top := 10;
// Left := 10;
// Caption := 'aaa';
// end;
end;

Exports
  Jirka;

a ve formu ji prasacky nactu jako (jde to vubec u balicku???, nikde jsem to
nevidel, ale jede to):

function Jirka(A: TWinControl): PAnsiChar;
  external 'Package1.bpl';

Problem je v tom, ze treba jen ten vysledek 'aaaa' se mi vrati dobre. Ale
jak tam odkomentuju ten blok, hned na Create to spadne.

Vedel by nekdo poradit, jak na to? Nebo jsem uplne mimo a tohle v zivote
neudelam?

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo


Odpovedá: Jan Novak

4. 7. 2004 19:40

> with TButton.Create(nil) do

Zkousel jsi namisto 'nil' dat jako ownera A ? Predpokladam, ze to je
Form1.


Odpovedá: Petr Vones

4. 7. 2004 19:35

From: "Jiri Cincura" <jiri@cincura.net>
> mam balicek a z nej potrebuju na form dostat za behu komponenty. Mam tam
> jednu fci, asi takhle (zjednoduseny kus unity):

Musis tu tridu nejdriv zaregistrovat pomoci RegisterClass a to zavolat z
initialization sekce unitu ktery je v tom balicku. V aplikaci (ktera musi byt
samozrejme take prelozena s balicky) kde balicek pouzivas ji pak ziskas pomoci
GetClass a jejiho jmena. V porovnani s .NETem je to ponekud neohrabane  

Petr Vones


Odpovedá: Jiri Cincura

4. 7. 2004 21:07

Petr Vones wrote:
> From: "Jiri Cincura" <jiri@cincura.net>
>> mam balicek a z nej potrebuju na form dostat za behu komponenty.
>> Mam tam jednu fci, asi takhle (zjednoduseny kus unity):
>
> Musis tu tridu nejdriv zaregistrovat pomoci RegisterClass a to
> zavolat z initialization sekce unitu ktery je v tom balicku. V
> aplikaci (ktera musi byt samozrejme take prelozena s balicky) kde
> balicek pouzivas ji pak ziskas pomoci GetClass a jejiho jmena. V
> porovnani s .NETem je to ponekud neohrabane  

Ahoj,

  tak to jsem vubec nepochopil. Do initialization dam RegisterClass, to
chapu, ale co s tim GetClass v app to uz nevim.

Mam v aplikaci jednu fci, ktera ma zavolat fci z balicku a ta vytvori na
Formu Button, a priradi mu nejake vlastnosti (prave proto to je, doluje se
to z XML, tak aby to bylo modularni).

Proste jen zavolam a fce udela co je treba - vytvori instanci a pracuje ...
Nejak mi tam to GetClass nepasuje. Anebo to uplne nechapu.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo


Odpovedá: Petr Vones

4. 7. 2004 21:43

From: "Jiri Cincura" <jiri@cincura.net>
> tak to jsem vubec nepochopil. Do initialization dam RegisterClass, to
> chapu, ale co s tim GetClass v app to uz nevim.

Z tohodle by to melo byt pochopitelne:

type
  TMyButton = class(TComponent)
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  C: TComponent;
begin
  C := TComponentClass(FindClass('TMyButton')).Create(Self);
  ShowMessage(C.ClassName);
end;

initialization
  RegisterClass(TMyButton);

end.

Petr Vones


Odpovedá: Jiri Cincura

4. 7. 2004 23:29

Petr Vones wrote:
> From: "Jiri Cincura" <jiri@cincura.net>
>> tak to jsem vubec nepochopil. Do initialization dam RegisterClass,
>> to chapu, ale co s tim GetClass v app to uz nevim.
>
> Z tohodle by to melo byt pochopitelne:
>

Pochopitelne jo, ale nefunguje mi to.

Proste at delam co delam, nevytvorim TMyButton (od TButton) na Formu, kde
kod MyButton je v balicku. (a jeste k tomu to ma byt CLX app, ale me to
nejde ani ve Win)

Mohl by byt nekdo toho dobreho srdce a hodit sem text unit, abych videl jak
to vypada? Uz jsem z toho mimo.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo


Odpovedá: Jiri Cincura

4. 7. 2004 23:39

Petr Vones wrote:
> From: "Jiri Cincura" <jiri@cincura.net>
>> tak to jsem vubec nepochopil. Do initialization dam RegisterClass,
>> to chapu, ale co s tim GetClass v app to uz nevim.
>
> Z tohodle by to melo byt pochopitelne:

Jeste dodam, ze vzdy skoncim na ruznych Exception.

--
Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
ICQ: 314711544
web: http://www.cincura.net; http://cincura.net/photo